package code11_io.File;

import java.io.File;

/**
 * @author 黄衡熙
 * @version 1.0
 */
public class Test07_递归删除空目录 {

    public static void main(String[] args) {
        remove("E:\\test\\c", "E:\\test\\c");
    }

    public static void remove(String path, String rootPath) {
        File file = new File(path);
        // 判断当前文件是否是一个目录
        if (file.isDirectory()) {
            // 如果是目录,判断是否为空目录
            // 如果是目录,判断是否为空目录
            if (file.listFiles().length == 0) {
                // 删除对应空目录
                System.out.println("正在删除" + file.getAbsolutePath() + "空目录");
                file.delete();
                // 取出当前目录的路径
                String filePath = file.getAbsolutePath();
                // 判断该路径是否是根目录,如果不是则递归删除上级目录
                if (!filePath.equals(rootPath)) {
                    remove(file.getParent(), rootPath);
                }
            } else {
                // 如果不是空目录
                File[] files = file.listFiles();
                for (File f : files) {
                    // 递归所有子文件
                    remove(f.getAbsolutePath(), rootPath);
                }
            }
        }
    }

}